package day0717OOP;

public class Test5 extends  Test5C{
    Test5(){//3.构造方法是在创建对象时对对象进行实例化的时候执行(在非静态代码块之后执行)
        System.out.println("constructor");//6.
    }

    {//2.代码块是在创建对象的时候执行(构造方法之前执行)
        System.out.println("no static");//5.
    }

    static {//1.静态代码块是在电脑加载class文件的时候被执行
        System.out.println("static");//2.
    }

    public static void main(String[] args) {
        new Test5();
    }

}

class  Test5C {
    Test5C(){//3.构造方法是在创建对象时对对象进行实例化的时候执行(在非静态代码块之后执行)
        System.out.println("constructor1");//4.
    }

    {//2.代码块是在创建对象的时候执行(构造方法之前执行)
        System.out.println("no static1");//3.
    }

    static {//1.静态代码块是在电脑加载class文件的时候被执行
        System.out.println("static1");//1.
    }

}/*static1
static
no static1
constructor1
no static
constructor
*/
